package com.atguyigu.codesday01.Lock8Demo;

import java.io.InterruptedIOException;
import java.util.concurrent.TimeUnit;
                    /*
                        3 新增一个hello普通方法，请问先打印邮件还是hello？
                        答 ： -----hello
                             ------Email
                         4 有两部手机，请问先打印邮件还是短信？
                         答 ： -----SMS
                               ------hello



                   总结 ：   加个普通方法后发现和同步锁无关
                  换成两个对象后，不是同一把锁了，情况立刻变化。
  */


class Phone02 {
    public  synchronized void sendEmail() throws Exception {
        TimeUnit.SECONDS.sleep(4);
        System.out.println("------Email");
    }

    public synchronized void sendSMS() throws Exception {
        System.out.println("-----SMS");

    }

    public void hello()
    {
        System.out.println("-----hello");
    }

}


public class Demo2 {

    public static void main(String[] args) throws InterruptedIOException, InterruptedException {

        Phone02 phonea=new Phone02();
        Phone02 phoneb=new Phone02();

        new Thread(() -> {
            try {
               phonea.sendEmail();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }, "t1").start();

       Thread.sleep(10);

        new Thread(() -> {
            try {
                //phoneb.hello();
                phoneb.sendSMS ();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }, "t2").start();
    }
}
